package com.zhaorujie.rpc.core.remoting.invoker.annotain;

import jakarta.annotation.Resource;

import java.lang.annotation.*;

/**
 * @author 赵汝杰
 * @version v1.0
 * @description RpcReference
 * @date 2024/3/6
 **/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Resource
public @interface RpcReference {

    /**
     * 版本号
     * @return
     */
    String version() default "";

    /**
     * 超时时间
     * @return
     */
    long timeout() default -1;

    /**
     * 负载均衡方式，如果设置了就去设置的，如果没设置就取全局的
     * @see com.zhaorujie.rpc.core.route.LoadBalancerKeys
     * @return
     */
    String loadBalance() default "";
}
